记录kettle spoon.bat 无法启动 (系统找不到指定的路径。) 只有无限接近死亡 才能领悟真滴

您所在的位置:网站首页 找不到文件 javaw 记录kettle spoon.bat 无法启动 (系统找不到指定的路径。) 只有无限接近死亡 才能领悟真滴

记录kettle spoon.bat 无法启动 (系统找不到指定的路径。) 只有无限接近死亡 才能领悟真滴

2023-12-17 22:13| 来源: 网络整理| 查看: 265

先写解决方案 错误信息 DEBUG: Using value () from calling script DEBUG: _PENTAHO_JAVA_HOME= DEBUG: _PENTAHO_JAVA=\bin\javaw.exe 系统找不到指定的路径。 系统找不到指定的路径。

前提,没有在spoon.bat 做任何改变 环境变量中有KETTLE_HOME只想kettle安装目录 将pdi文件夹下的set-pentaho-env.bat中的 (请提前建立文件副本哦)

:checkPentahoJavaHome if exist "%~1\bin\%__LAUNCHER%" goto gotValueFromCaller if not "%PENTAHO_JAVA_HOME%" == "" goto gotPentahoJavaHome if exist "%~dp0jre\bin\%__LAUNCHER%" goto gotJreCurrentFolder if exist "%~dp0java\bin\%__LAUNCHER%" goto gotJavaCurrentFolder if exist "%~dp0..\jre\bin\%__LAUNCHER%" goto gotJreOneFolderUp if exist "%~dp0..\java\bin\%__LAUNCHER%" goto gotJavaOneFolderUp if exist "%~dp0..\..\jre\bin\%__LAUNCHER%" goto gotJreTwoFolderUp if exist "%~dp0..\..\java\bin\%__LAUNCHER%" goto gotJavaTwoFolderUp if not "%JAVA_HOME%" == "" goto gotJdkHome if not "%JRE_HOME%" == "" goto gotJreHome # 修改为 :checkPentahoJavaHome if not "%JAVA_HOME%" == "" goto gotJdkHome if not "%JRE_HOME%" == "" goto gotJreHome 在看我瞎比比

前提 是我们的项目需要用这个可恶的kettle。

在第一次使用的时候我成功的启动了。

于是乎,在使用一次后,每次,初体验结束,spoon开始抗拒我了。从网上找到无数种解决方案,都无法挽回他,还好一直用服务器上的kettle。知道今天,任务开始没那么多了,我再次想要挽回他。 尝试过的方法有: 卸载所有jdk,重装jdk8 在spoon.bat中设置变量

进入正题,读了spoon.bat中的脚本语言后,发现在spoon.bat中跳转到另一个批处理文件,

call "%~dp0set-pentaho-env.bat"

这个批处理文件就是为了定位我们的java位置,中间的重重判定有一句有问题,无法定位到我的jdk

:checkPentahoJavaHome if exist "%~1\bin\%__LAUNCHER%" goto gotValueFromCaller if not "%PENTAHO_JAVA_HOME%" == "" goto gotPentahoJavaHome if exist "%~dp0jre\bin\%__LAUNCHER%" goto gotJreCurrentFolder if exist "%~dp0java\bin\%__LAUNCHER%" goto gotJavaCurrentFolder if exist "%~dp0..\jre\bin\%__LAUNCHER%" goto gotJreOneFolderUp if exist "%~dp0..\java\bin\%__LAUNCHER%" goto gotJavaOneFolderUp if exist "%~dp0..\..\jre\bin\%__LAUNCHER%" goto gotJreTwoFolderUp if exist "%~dp0..\..\java\bin\%__LAUNCHER%" goto gotJavaTwoFolderUp if not "%JAVA_HOME%" == "" goto gotJdkHome if not "%JRE_HOME%" == "" goto gotJreHome

我的很奇怪的定位到了第一个判定也就是gotValueFromCaller中去了,实际上当我们定义了java_home环境变量后,一般是跳进gotJdkHome方法中的。从系统变量中获取值所以我直接把上面的全部删掉了,这样就不会让它判定进入其他分支了。

好的,今天很开心,如果有问题可以提出哦。希望可以帮到你



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3